#pragma once

namespace Renderer
{

	class Material
	{
	protected:
		D3DMATERIAL9 material;

	public:
		Material();

		D3DMATERIAL9* GetMaterial();

		void SetDiffuseColor(BYTE red, BYTE green, BYTE blue);
		void GetDiffuseColor(BYTE *red, BYTE *green, BYTE *blue) const;

		void SetAmbientColor(BYTE red, BYTE green, BYTE blue);
		void GetAmbientColor(BYTE *red, BYTE *green, BYTE *blue) const;

		void SetSpecularColor(BYTE red, BYTE green, BYTE blue);
		void GetSpecularColor(BYTE *red, BYTE *green, BYTE *blue) const;

		void SetEmissiveColor(BYTE red, BYTE green, BYTE blue);
		void GetEmissiveColor(BYTE *red, BYTE *green, BYTE *blue) const;

		void SetIntensity(float intensity);
		float GetIntensity() const;
	};

}